package idazkaria;

import hasiera_pantaila.DBKudeatzailea;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.ButtonGroup;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JRadioButton;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;

import com.sun.org.apache.xml.internal.security.utils.HelperNodeList;

public class EI_Terapeuta_sortu_1_1_1 extends JFrame {

	private JPanel contentPane;
	private JTextField izena;
	private JTextField lehenAbizena;
	private JTextField bigarrenAbizena;
	private JTextField nan;
	private JTextField data;
	private JTextField helb;
	private JTextField atari;
	private JTextField solairu;
	private JTextField hizkia;
	private JTextField probintzia;
	private JTextField herria;
	private JTextField tlfn;
	private JTextField mobil;
	private JTextField email;
	private JTextField pasahitza;
	private JTextField pasahitzErrepika;
	private JTextField postakodea;
	private ButtonGroup sexua;
	private JRadioButton Gizona;
	private JRadioButton Emakumea;
	private JComboBox terapia;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					EI_Terapeuta_sortu_1_1_1 frame = new EI_Terapeuta_sortu_1_1_1();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public EI_Terapeuta_sortu_1_1_1() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 626, 420);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblIdazkariaSortu = new JLabel("TERAPEUTA SORTU:");
		lblIdazkariaSortu.setFont(new Font("Tahoma", Font.BOLD, 14));
		lblIdazkariaSortu.setForeground(Color.BLACK);
		lblIdazkariaSortu.setBounds(10, 11, 150, 14);
		contentPane.add(lblIdazkariaSortu);
		
		izena = new JTextField();
		izena.setBounds(48, 40, 183, 20);
		contentPane.add(izena);
		izena.setColumns(10);
		
		JLabel l = new JLabel("Lehenengo abizena");
		l.setBounds(10, 70, 127, 14);
		contentPane.add(l);
		
		lehenAbizena = new JTextField();
		lehenAbizena.setBounds(125, 71, 172, 20);
		contentPane.add(lehenAbizena);
		lehenAbizena.setColumns(10);
		
		JLabel lblBigarrenAbizena = new JLabel("Bigarren abizena");
		lblBigarrenAbizena.setBounds(10, 95, 105, 14);
		contentPane.add(lblBigarrenAbizena);
		
		JLabel lblIzena = new JLabel("Izena");
		lblIzena.setBounds(10, 43, 46, 14);
		contentPane.add(lblIzena);
		
		bigarrenAbizena = new JTextField();
		bigarrenAbizena.setBounds(125, 95, 172, 20);
		contentPane.add(bigarrenAbizena);
		bigarrenAbizena.setColumns(10);
		
		JLabel lblNana = new JLabel("NAN zenbakia");
		lblNana.setBounds(307, 43, 87, 14);
		contentPane.add(lblNana);
		
		nan = new JTextField();
		nan.setBounds(397, 40, 100, 20);
		contentPane.add(nan);
		nan.setColumns(10);
		
		JLabel lblJaiotzeData = new JLabel("Jaiotze data");
		lblJaiotzeData.setBounds(307, 70, 74, 14);
		contentPane.add(lblJaiotzeData);
		
		data = new JTextField();
		data.setBounds(397, 67, 100, 20);
		contentPane.add(data);
		data.setColumns(10);
		
		JLabel lblSexua = new JLabel("Sexua");
		lblSexua.setBounds(307, 95, 46, 14);
		contentPane.add(lblSexua);
		
sexua = new ButtonGroup();
		
		Gizona = new JRadioButton("Gizona");
		Gizona.setBounds(347, 91, 67, 23);
		contentPane.add(Gizona);
		
		 Emakumea = new JRadioButton("Emakumea");
		Emakumea.setBounds(416, 91, 100, 23);
		contentPane.add(Emakumea);
		
		sexua.add(Gizona);
		sexua.add(Emakumea);
		
		JLabel lblHelbidea = new JLabel("Helbidea");
		lblHelbidea.setBounds(10, 120, 58, 14);
		contentPane.add(lblHelbidea);
		
		helb = new JTextField();
		helb.setBounds(74, 120, 223, 20);
		contentPane.add(helb);
		helb.setColumns(10);
		
		JLabel lblAtaria = new JLabel("Ataria");
		lblAtaria.setBounds(307, 123, 46, 14);
		contentPane.add(lblAtaria);
		
		atari = new JTextField();
		atari.setBounds(347, 120, 40, 20);
		contentPane.add(atari);
		atari.setColumns(10);
		
		JLabel lblSolairua = new JLabel("Solairua");
		lblSolairua.setBounds(397, 123, 58, 14);
		contentPane.add(lblSolairua);
		
		solairu = new JTextField();
		solairu.setBounds(449, 121, 40, 20);
		contentPane.add(solairu);
		solairu.setColumns(10);
		
		JLabel lblHizkia = new JLabel("Hizkia");
		lblHizkia.setBounds(499, 123, 46, 14);
		contentPane.add(lblHizkia);
		
		hizkia = new JTextField();
		hizkia.setBounds(541, 121, 23, 20);
		contentPane.add(hizkia);
		hizkia.setColumns(10);
		
		JLabel lblProbintzia = new JLabel("Probintzia");
		lblProbintzia.setBounds(10, 154, 58, 14);
		contentPane.add(lblProbintzia);
		
		probintzia = new JTextField();
		probintzia.setBounds(74, 151, 110, 20);
		contentPane.add(probintzia);
		probintzia.setColumns(10);
		
		JLabel lblHerria = new JLabel("Herria");
		lblHerria.setBounds(194, 154, 46, 14);
		contentPane.add(lblHerria);
		
		herria = new JTextField();
		herria.setBounds(240, 151, 100, 20);
		contentPane.add(herria);
		herria.setColumns(10);
		
		JLabel lblTelefonoa = new JLabel("Telefonoa");
		lblTelefonoa.setBounds(10, 192, 58, 14);
		contentPane.add(lblTelefonoa);
		
		tlfn = new JTextField();
		tlfn.setBounds(74, 189, 110, 20);
		contentPane.add(tlfn);
		tlfn.setColumns(10);
		
		JLabel lblMugikorra = new JLabel("Mugikorra");
		lblMugikorra.setBounds(194, 192, 58, 14);
		contentPane.add(lblMugikorra);
		
		mobil = new JTextField();
		mobil.setBounds(265, 189, 105, 20);
		contentPane.add(mobil);
		mobil.setColumns(10);
		
		JLabel lblEmailHelbidea = new JLabel("E-mail helbidea");
		lblEmailHelbidea.setBounds(380, 192, 92, 14);
		contentPane.add(lblEmailHelbidea);
		
		email = new JTextField();
		email.setBounds(475, 189, 125, 20);
		contentPane.add(email);
		email.setColumns(10);
		
		JLabel lblPasahitza = new JLabel("Pasahitza");
		lblPasahitza.setBounds(194, 226, 58, 14);
		contentPane.add(lblPasahitza);
		
		pasahitza = new JTextField();
		pasahitza.setBounds(265, 223, 178, 20);
		contentPane.add(pasahitza);
		pasahitza.setColumns(10);
		
		JLabel lblPasahitzakKaraktere = new JLabel("Pasahitzak 6 karaktere");
		lblPasahitzakKaraktere.setFont(new Font("Tahoma", Font.BOLD, 11));
		lblPasahitzakKaraktere.setForeground(Color.BLUE);
		lblPasahitzakKaraktere.setBounds(265, 241, 153, 14);
		contentPane.add(lblPasahitzakKaraktere);
		
		JLabel lblBainoGehiagoIzan = new JLabel("baino gehiago izan behar ditu.");
		lblBainoGehiagoIzan.setFont(new Font("Tahoma", Font.BOLD, 11));
		lblBainoGehiagoIzan.setForeground(Color.BLUE);
		lblBainoGehiagoIzan.setBounds(265, 254, 183, 14);
		contentPane.add(lblBainoGehiagoIzan);
		
		JLabel lblHizkiakIzanDaitezke = new JLabel("Hizkiak izan daitezke baita ere.");
		lblHizkiakIzanDaitezke.setFont(new Font("Tahoma", Font.BOLD, 11));
		lblHizkiakIzanDaitezke.setForeground(Color.BLUE);
		lblHizkiakIzanDaitezke.setBounds(265, 266, 183, 14);
		contentPane.add(lblHizkiakIzanDaitezke);
		
		JLabel lblPasahitzaErrepikatu = new JLabel("Pasahitza errepikatu");
		lblPasahitzaErrepikatu.setBounds(194, 291, 119, 14);
		contentPane.add(lblPasahitzaErrepikatu);
		
		pasahitzErrepika = new JTextField();
		pasahitzErrepika.setBounds(323, 291, 155, 20);
		contentPane.add(pasahitzErrepika);
		pasahitzErrepika.setColumns(10);
		
		JButton btnGorde = new JButton("Gorde");
		btnGorde.setBounds(193, 337, 89, 23);
		contentPane.add(btnGorde);
		btnGorde.addActionListener(new ActionListener() { 
			
			protected boolean zerbaitIdatziDu(){
				return izena.getText().length() > 0 && lehenAbizena.getText().length() > 0 && bigarrenAbizena.getText().length() > 0 
	    		&& nan.getText().length() > 0 && data.getText().length() > 0 && helb.getText().length() > 0
	    		&& helb.getText().length() > 0 && atari.getText().length() > 0 && solairu.getText().length() > 0
	    		&& hizkia.getText().length() > 0 && probintzia.getText().length() > 0 && herria.getText().length() > 0
	    		&& tlfn.getText().length() > 0 && mobil.getText().length() > 0 && email.getText().length() > 0
	    		 && postakodea.getText().length() >0;}
			
			//terapia mota ezartzen da
			protected String terapiaMota(){
				
				if (terapia.getSelectedItem().equals("Akupuntura")){
					return "Akupuntura";}
					else {
				if (terapia.getSelectedItem().equals("Yoga saioak")){
						return "Yoga saioak";	}
				else {
				if (terapia.getSelectedItem().equals("Moxibustion")){
					
					return "Moxibustion";}	
					else{
						
					 return "Pilates saioak";}}}
				}
				public void actionPerformed(ActionEvent arg0) {
					 try
		                {
		                    if (!zerbaitIdatziDu()){
		                      JOptionPane.showMessageDialog(null, "Ezin da eremua hutsik egon");
		                    }else if (!existitzenDa(nan.getText())  ){
		                    			// datubasean idazkari berri bat txertatu(ex dut sartzen egun jcalndar erabiliz)
		                    			terapeutaSortu(izena.getText(),lehenAbizena.getText(), bigarrenAbizena.getText(), nan.getText(), data.getText(), 
		                    					(Gizona.isSelected()?"g":"e"),helb.getText() , Integer.parseInt(atari.getText()), Integer.parseInt(solairu.getText()), hizkia.getText(),
		  	                        		  probintzia.getText(), herria.getText(),Integer.parseInt(postakodea.getText()), Integer.parseInt(tlfn.getText()), Integer.parseInt(mobil.getText()),email.getText(),
		  	                        		  terapiaMota(),pasahitza.getText(),pasahitzErrepika.getText());
		  	                        		  
		  	                        		  // "Ondo sartu duzu!" mezua bistaratu
		  	                        	 EI_Terapeuta_sortuta_mezua_1_1_1_1 mezua=new EI_Terapeuta_sortuta_mezua_1_1_1_1();
		  	                        	// hobeto eraikitzailean egitea	  
		  	                        	   mezua.setVisible(true);
		  	                        		   // uneko inprimakia izkutatu
		  	                        	EI_Terapeuta_sortu_1_1_1.this.setVisible(false);
		  	                   
		                   } // if
		                   
		                  } catch (Exception e){
		                    e.printStackTrace();
		                }
		        	} });
			contentPane.add(btnGorde);
		
		JButton btnAtzera = new JButton("Atzera");
		btnAtzera.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				EI_Terapeuten_informazioa_maneiatu_1_1 bat=new EI_Terapeuten_informazioa_maneiatu_1_1();
				bat.setVisible(true);
				EI_Terapeuta_sortu_1_1_1.this.setVisible(false);}
			});
		btnAtzera.setBounds(292, 337, 89, 23);
		contentPane.add(btnAtzera);
		
		JLabel lblTerapia = new JLabel("Terapia");
		lblTerapia.setBounds(10, 227, 58, 14);
		contentPane.add(lblTerapia);
		
		terapia = new JComboBox();
		terapia.setModel(new DefaultComboBoxModel(new String[] {"Akupuntura", "Yoga saioak", "Moxibustion", "Pilates saioak"}));
		terapia.setBounds(61, 224, 99, 20);
		contentPane.add(terapia);
		
		JLabel label = new JLabel("Posta kodea");
		label.setBounds(361, 153, 74, 14);
		contentPane.add(label);
		
		postakodea = new JTextField();
		postakodea.setColumns(10);
		postakodea.setBounds(442, 151, 74, 20);
		contentPane.add(postakodea);
		
		JLabel label_1 = new JLabel("Adib: 11111111v");
		label_1.setBounds(507, 43, 94, 14);
		contentPane.add(label_1);
	}
	//metodoak IdazkariaSortu eta existitzenDA
	public void terapeutaSortu(String a,String b, String c, String d, String e, String f, String g, int h, int i, String j, String l, 
			String m, int n, int o, int x,String z,String p, String q, String u )  
	    {
	   /*SD begiratuta: INSERT INTO terapeuta (izena, lehenengoAbizena, bigarrenAbizena, NAN, jaiotzeData, sexua, helbidea, ataria, solairua, hizkia, probintzia, herria,
		postaKodea, telefonoa, mugikorra, email, terapia, pasahitza, errepikatu )
		VALUES(%izena, %lehenengoAbizena, %bigarrenAbizena, %NAN, %jaiotzeData,
		%sexua, %helbidea, %ataria, %solairua, %hizkia, %probintzia, %herria, %postaKodea, %telefonoa, %mugikorra, %email, %terapia, %pasahitza,
		%errepikatu)
		Table terapeuta

===============

izena, lehenengoAbizena, bigarrenAbizena, NAN,  jaiotzeData, sexua, helbidea, ataria, solairua, hizkia, probintzia, herria, postaKodea, telefonoa, mugikorra, email, terapia, pasahitza, errepikatu

---------------

izena            varchar(20)

lehenengoAbizena varchar(20)

bigarrenAbizena  varchar(20)

NAN              varchar(20) PK

 jaiotzeData     varchar(20)

sexua            varchar(20)

helbidea         varchar(20)

ataria           int(11)

solairua         int(11)

hizkia           varchar(20)

probintzia       varchar(20)

herria           varchar(20)

postaKodea       int(11)

telefonoa        int(11)

mugikorra        int(11)

email            varchar(20)

terapia          varchar(20)

pasahitza        varchar(20) PK

errepikatu       varchar(20)

*/
		
	    		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
	    
	    	
	    		String k1 =("INSERT INTO terapeuta (`izena`, `lehenengoAbizena`, `bigarrenAbizena`, `NAN`, `jaiotzeData`, `sexua`, `helbidea`, `ataria`, `solairua`, `hizkia`, `probintzia`, " +
	    				"`herria`, `postaKodea`, `telefonoa`, `mugikorra`, `email`,`terapia`, `pasahitza`, `errepikatu`) " +
	    				"     VALUES ('" + izena.getText()  + "', '" + lehenAbizena.getText() + "' , '"+ bigarrenAbizena.getText() +"','"+  nan.getText() +"', '"+ data.getText() + "','" + (Gizona.isSelected()?"g":"e") +"', '" + helb.getText() +"', '" + Integer.parseInt(atari.getText()) +"'," +
	    				"'" + Integer.parseInt(solairu.getText()) +"', '" + hizkia.getText() +"', '" + probintzia.getText() +"', '" + herria.getText() +"', '" + postakodea.getText() +"', '" + tlfn.getText() +"', '" + mobil.getText() +"', " +
	    				"'" + email.getText() +"','" +terapia.getSelectedItem()+"', '" + pasahitza.getText() +"', '" + pasahitzErrepika.getText() +"'");        
                				

	    			System.out.println("Ondo txertatu da");
	    			
	    		
	    		

	    }
	
	public boolean existitzenDa(String NAN) {
		DBKudeatzailea dbk = DBKudeatzailea.getInstantzia();
		String k1 =("SELECT * FROM idazkaria WHERE NAN='"+NAN+"'");

		ResultSet rs =  dbk.execSQL(k1);
		try {
			rs.next();
			System.out.println(rs.getString(0));
			rs.close();
			System.out.println("aurkituta");
			return true;

		} catch (SQLException e) {
			System.out.println("ez aurkituta");
			return false;
		}
	}
}

